Recommender systems are well-known in the art and provide personalized lists of recommended consumable items to users. The lists are generated on an individual basis and attempt to predict individual user interest towards the items listed, for example, purchasing the item and/or viewing it on a client device.
Known recommender systems provide either content-based recommendations in which a user is recommended items similar to the ones a user has preferred in the past; or collaborative filtering recommendations in which a user is recommended items that people with similar tastes and preferences have liked in the past, or adopt a hybrid approach which combines collaborative filtering and content-based methods. Recommendations are usually evaluated on the basis of a user probably liking/disliking an item, or on the basis of a potential rating that the user may assign to that item, or on a relative rating in which each user's potential liking is compared to the ranking of other items. An introduction to recommender systems can be found in Adomavicius, G., and Tuzhilin in “A. Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”, IEEE TKDE (2005) which provides a comprehensive overview of the state of the art in recommender algorithms, the contents of which are hereby incorporated by reference.
Factors such as a) the continuous influx of new data about user behaviour, b) the number of new users that need recommendations, c) inconstancies in the amount of user behaviour data provided to the recommender and d) changes in the preferences of users over time, all contribute to a dynamically changing recommender system operating environment. Recommender systems which operate in such environments are preferably therefore retrained from time to time (or indeed quite regularly) with fresh training data which comprises information indicating what user's actual current preferences are so as to enable recommender systems in such dynamic environments to adapt to the changing conditions.
Not all consumable items however are consumed in a way which allows a preference to be expressed. For example, broadcast television channels usually do not provide viewers with an opportunity to indicate whether they liked a particular television programme or not. Even if an opportunity is given to express an opinion for an item, not all users may choose to provide an indication of their preference. The “degree” of preference may or may not be captured accurately overall as different users may indicate their preferences on scales of various degrees of conservatism, if a scale of 0 to 10, say, is provided rather than “like” or “dislike”. In contrast, it is often possible to configure web-portals which provide Video-On-Demand (VoD) services to capture feedback from users who have downloaded and watched a video.
Moreover, providing data to re-train a recommender system from a huge number of users presents challenges in that it takes up system resources. For example, transferring user preference information from a large number of client devices takes up bandwidth within the communications network connecting the client devices to the recommender system. Moreover, training activities have a high computational cost for the recommender system. Thus the need to retrain needs to be balanced against the quality of recommendations being provided.
Recommender systems known in the art are limited in the way that the performance of the recommender is capable of being controlled externally by third parties. Parekh, S., Gandhi, N., Hellerstein, J., Tilbury, D., Jayram, T., and Bigus, J., describe the principles of control theory in their paper “Using Control Theory to Achieve Service Level Objectives In Performance Management”, published in Real Time Systems (2002). More specifically, Zanardi, V., and Capra, L., in “Dynamic updating of online recommender systems via feed-forward controllers”, published in the In Proc. of SEAMS (2011), describe using control theory to model the behaviour of software systems. They provide a set of analytical tools that can predict with high accuracy the behaviour of a real system in the context of monitoring system growth and to control whether the system needs to perform an update. Another publication addressing recommender control is by Meng, K., Wang, Y., Zhang, X., Xiao, X. C., and du Zhang, G., entitled “Control theory based rating recommendation for reputation systems. In Proc. of ICNSC (2006)”.
In addition, it is known for set-top boxes to include functionality to store data about the usage of the set-top box (e.g. log data, use data, etc.)—see for example WO 00/11869; it is further known to perform pre-processing of that data to remove clearly irrelevant data (e.g. channel selection data that is associated with “channel hopping” is not useful for giving information about a user's viewing preferences—see US 2002/083451 as an example of this). Finally, it is also known for set-top boxes to perform some processing internally before responding to a request for information. In particular, WO 2004/047445 describes a set-tap box which has a user privacy policy which it consults before giving user preference data to a requesting server, and it selects (and/or modifies in some way—e.g. to anonymise) the information which it provides to the server based on the stored user privacy policy to ensure that the provided information does not contravene the privacy policy.